package studia.figlewicz.dao.ejb;

// Generated 2011-06-03 08:31:30 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * Kontraktterminowy generated by hbm2java
 */
@Entity
@Table(name = "KONTRAKTTERMINOWY", schema = "MARCIN", uniqueConstraints = @UniqueConstraint(columnNames = {
		"NAZWAGIELDY", "NAZWATYPUKONTRAKTUTERMINOWEGO", "TERMINZAKONCZENIA" }))
public class Kontraktterminowy implements java.io.Serializable {

	private KontraktterminowyId id;
	private Typkontraktuterminowego typkontraktuterminowego;
	private Konwencjanotowan konwencjanotowan;
	private String numeruchwaly;
	private Date poczatekzlecen;
	private Date konieczlecen;
	private String terminzakonczenia;
	private String czestotliwosc;
	private String typopcji;
	private Date datautworzenia;
	private String login;
	private String opis;
	private Set<Notowaniekontraktu> notowaniekontraktus = new HashSet<Notowaniekontraktu>(
			0);
	private Set<Krzywarynkowakontraktterminowy> krzywarynkowakontraktterminowies = new HashSet<Krzywarynkowakontraktterminowy>(
			0);

	public Kontraktterminowy() {
	}

	public Kontraktterminowy(KontraktterminowyId id,
			Typkontraktuterminowego typkontraktuterminowego,
			Konwencjanotowan konwencjanotowan) {
		this.id = id;
		this.typkontraktuterminowego = typkontraktuterminowego;
		this.konwencjanotowan = konwencjanotowan;
	}

	public Kontraktterminowy(KontraktterminowyId id,
			Typkontraktuterminowego typkontraktuterminowego,
			Konwencjanotowan konwencjanotowan, String numeruchwaly,
			Date poczatekzlecen, Date konieczlecen, String terminzakonczenia,
			String czestotliwosc, String typopcji, Date datautworzenia,
			String login, String opis,
			Set<Notowaniekontraktu> notowaniekontraktus,
			Set<Krzywarynkowakontraktterminowy> krzywarynkowakontraktterminowies) {
		this.id = id;
		this.typkontraktuterminowego = typkontraktuterminowego;
		this.konwencjanotowan = konwencjanotowan;
		this.numeruchwaly = numeruchwaly;
		this.poczatekzlecen = poczatekzlecen;
		this.konieczlecen = konieczlecen;
		this.terminzakonczenia = terminzakonczenia;
		this.czestotliwosc = czestotliwosc;
		this.typopcji = typopcji;
		this.datautworzenia = datautworzenia;
		this.login = login;
		this.opis = opis;
		this.notowaniekontraktus = notowaniekontraktus;
		this.krzywarynkowakontraktterminowies = krzywarynkowakontraktterminowies;
	}

	@EmbeddedId
	@AttributeOverrides({
			@AttributeOverride(name = "nazwagieldy", column = @Column(name = "NAZWAGIELDY", nullable = false, length = 50)),
			@AttributeOverride(name = "kodkontraktu", column = @Column(name = "KODKONTRAKTU", nullable = false, length = 20)) })
	public KontraktterminowyId getId() {
		return this.id;
	}

	public void setId(KontraktterminowyId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "NAZWAGIELDY", referencedColumnName = "NAZWAGIELDY", nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "NAZWATYPUKONTRAKTUTERMINOWEGO", referencedColumnName = "NAZWATYPU", nullable = false, insertable = false, updatable = false) })
	public Typkontraktuterminowego getTypkontraktuterminowego() {
		return this.typkontraktuterminowego;
	}

	public void setTypkontraktuterminowego(
			Typkontraktuterminowego typkontraktuterminowego) {
		this.typkontraktuterminowego = typkontraktuterminowego;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({
			@JoinColumn(name = "NAZWAGIELDY", referencedColumnName = "NAZWAGIELDY", nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "NAZWAKONWENCJI", referencedColumnName = "NAZWA", nullable = false, insertable = false, updatable = false),
			@JoinColumn(name = "NUMERWERSJIKONWENCJI", referencedColumnName = "NUMERWERSJI", nullable = false, insertable = false, updatable = false) })
	public Konwencjanotowan getKonwencjanotowan() {
		return this.konwencjanotowan;
	}

	public void setKonwencjanotowan(Konwencjanotowan konwencjanotowan) {
		this.konwencjanotowan = konwencjanotowan;
	}

	@Column(name = "NUMERUCHWALY", length = 20)
	public String getNumeruchwaly() {
		return this.numeruchwaly;
	}

	public void setNumeruchwaly(String numeruchwaly) {
		this.numeruchwaly = numeruchwaly;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "POCZATEKZLECEN", length = 7)
	public Date getPoczatekzlecen() {
		return this.poczatekzlecen;
	}

	public void setPoczatekzlecen(Date poczatekzlecen) {
		this.poczatekzlecen = poczatekzlecen;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "KONIECZLECEN", length = 7)
	public Date getKonieczlecen() {
		return this.konieczlecen;
	}

	public void setKonieczlecen(Date konieczlecen) {
		this.konieczlecen = konieczlecen;
	}

	@Column(name = "TERMINZAKONCZENIA", length = 5)
	public String getTerminzakonczenia() {
		return this.terminzakonczenia;
	}

	public void setTerminzakonczenia(String terminzakonczenia) {
		this.terminzakonczenia = terminzakonczenia;
	}

	@Column(name = "CZESTOTLIWOSC", length = 5)
	public String getCzestotliwosc() {
		return this.czestotliwosc;
	}

	public void setCzestotliwosc(String czestotliwosc) {
		this.czestotliwosc = czestotliwosc;
	}

	@Column(name = "TYPOPCJI", length = 5)
	public String getTypopcji() {
		return this.typopcji;
	}

	public void setTypopcji(String typopcji) {
		this.typopcji = typopcji;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "DATAUTWORZENIA", length = 7)
	public Date getDatautworzenia() {
		return this.datautworzenia;
	}

	public void setDatautworzenia(Date datautworzenia) {
		this.datautworzenia = datautworzenia;
	}

	@Column(name = "LOGIN", length = 30)
	public String getLogin() {
		return this.login;
	}

	public void setLogin(String login) {
		this.login = login;
	}

	@Column(name = "OPIS", length = 500)
	public String getOpis() {
		return this.opis;
	}

	public void setOpis(String opis) {
		this.opis = opis;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "kontraktterminowy")
	public Set<Notowaniekontraktu> getNotowaniekontraktus() {
		return this.notowaniekontraktus;
	}

	public void setNotowaniekontraktus(
			Set<Notowaniekontraktu> notowaniekontraktus) {
		this.notowaniekontraktus = notowaniekontraktus;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "kontraktterminowy")
	public Set<Krzywarynkowakontraktterminowy> getKrzywarynkowakontraktterminowies() {
		return this.krzywarynkowakontraktterminowies;
	}

	public void setKrzywarynkowakontraktterminowies(
			Set<Krzywarynkowakontraktterminowy> krzywarynkowakontraktterminowies) {
		this.krzywarynkowakontraktterminowies = krzywarynkowakontraktterminowies;
	}

}
